<?php
/**
 * Controller de Dominios.
 *
 *
 * @filesource          
 * @copyright		
 * @link		http://www.pragmatia.com Pragmatia
 * @package		datagro
 * @subpackage	app.controllers
 * @version     1.1
 * @license		http://www.opensource.org/licenses/mit-license.php The MIT License
 * @author      Martin Radosta <mradosta@pragmatia.com>
 */


/**
 * Clase DominiosController
 *
 * @package	    datagro
 * @subpackage	app.controllers
 */

class  DominiosController extends AppController
{
	var $name = 'Dominios';
/**
* Constructor.
*
*/


/**
 * Index.
 *
 */
    function index()
    {
		if(!empty($this->data))
		{
			$condicion = $this->Filtro->generarCondicion($this->data['Filtro']);
			$this->paginate['conditions'] = $condicion;
		}
		$this->paginate['order'] = "Dominio.nombre";
		$dominios = $this->Dominio->findAll("1=1 group by Dominio.nombre order by Dominio.nombre");
		$nombres = array();
		foreach($dominios as $k=>$v)
		{
			$nombres[$v['Dominio']['nombre']] = $v['Dominio']['nombre'];
		}
		$this->set('dominio', $nombres);
        $this->set('registros', $this->paginate());
    }


/**
 * Add.
 *
 */
   function add() 
   {
		if(!empty($this->data) && isset($this->data['Dominio']['accion']) && ($this->data['Dominio']['accion'] == "grabar" || $this->data['Dominio']['accion'] == "cancelar")) {
			if ($this->data['Dominio']['accion'] == "grabar")
			{
				if($this->Dominio->create($this->data) && $this->Dominio->validates())
				{
					if($this->Dominio->save($this->data))
						$this->Session->setFlash('El dominio se agrego correctamente.', 'ok');
					else
						$this->Session->setFlash('No fue posible agregar el nuevo dominio.', 'error');	

					$this->redirect("index", null, true);
				}
			}
			elseif ($this->data['Dominio']['accion'] == "cancelar")
			{
				$this->redirect("index", null, true);
			}
		}
   }    

/**
 * Edit.
 *
 */
   function edit($id) {
		if(!empty($this->data) && isset($this->data['Dominio']['accion']) && ($this->data['Dominio']['accion'] == "grabar" || $this->data['Dominio']['accion'] == "cancelar")) {
			if ($this->data['Dominio']['accion'] == "grabar") {
				if($this->Dominio->validates()) {
					if($this->Dominio->create($this->data) && $this->Dominio->validates())
						$this->Session->setFlash('El dominio se actualizo correctamente.', 'ok');
					else
						$this->Session->setFlash('No fue posible actualizar el dominio.', 'error');	

					$this->redirect("index", null, true);
				}
			}
			elseif($this->data['Dominio']['accion'] == "cancelar") {
				$this->redirect("index", null, true);
			}
		}
		else {
			$this->data = $this->Dominio->read(null, $id);
			$this->render('add');
		}   
   }    

/**
 * Delete.
 *
 */
   function delete($id = false) {
        if ($id && is_numeric($id)) {
			if ($this->Dominio->delete($id)) {
				$this->Session->setFlash('El dominio se borro correctamente.', 'ok');	
			}
			else {
				$this->Session->setFlash('No fue posible borrar el dominio.', 'error');	
			}
        }    
		$this->redirect('index', null, true);
   }  

/**
 * View.
 *
 */
   function view($id = false) {
        if ($id && is_numeric($id)) {
            $this->data = $this->Dominio->read(null, $id);
        }    
   }  

/**
 * View Dominio.
 *
 */
   function viewDominio($id = false) {
        if ($id && is_numeric($id)) {
			$tmp = $this->Dominio->read();
			if(isset($tmp['Dominio']['nombre'])) {
				$registros = $this->Dominio->findAll("nombre = '" . $tmp['Dominio']['nombre'] . "'");
			}
            $this->set("registros", $registros);
        }
   }

}
?>
